/{businessId}/productOrder
[POST]
This usecase is to revoke a subscription for multiple OTTs in Bango or ToolBox systems
URL
https://nonprod.lcr.esb.cloud.lla.com/test/cr-mdw-ux-lcr/cr-mdw-ux/v1/{businessId}/productOrder
URI Params
| name | type | description | required |
|---|
| businessId | string | Default CR for Costa Rica | Y |
| name | type | description | required |
|---|
| client_id | string | The client_id identifying the channel. Minimum characters: 5 | Y |
| client_secret | string | Password associated with the client_id. Minimum characters: 5 | Y |
| X-Correlation-ID | string | Identifier that correlates HTTP request between a client and server. Any identification model (UUDI, checksum, etc.) can be used, as long as it is a unique value to differentiate a transaction. | Y |
Body
Definitions - Bundle
| Name | Type | Description | Required |
|---|
| cancellationReason | string | Reason for cancellation. Default: NOT_RENEWED, CUSTOMER_CANCELLED. | Y |
| description | string | Description of the cancellation. Default: The user has not renewed their subscription. | Y |
| @type | string | Type of the request. Default: ProductOrder. | Y |
| billingAccount.id | string | Billing account number. | Y |
| billingAccount.contact[].contactType | String | Type of contact associated with the billing account (Example: primary). | N |
| billingAccount.contact[].contactMedium[].characteristic.emailAddress | String | Email address to send the activation link to the customer. | Y |
| billingAccount.@baseType | String | Base type of the billing account entity. Default: billingAccount. | N |
| billingAccount.@type | String | Type of the billing account entity. Default: billingAccount. | N |
| productOrderItem[].id | string | Identifier of the product order item. Default: 1. | Y |
| productOrderItem[].quantity | number | Quantity of the product order item. Default: 1. | N |
| productOrderItem[].action | string | Action to be performed on the product order item. Default: modify. | Y |
| productOrderItem[].@type | string | Type of the product order item. Default: ProductOrderItem. | N |
| productOrderItem[].product.isBundle | Boolean | Indicates whether the product is a bundle (true or false). | Y |
| productOrderItem[].product.status | string | Current status of the product. Default: aborted. | Y |
| productOrderItem[].product.productSpecification.id | string | Bundle product code. Default: Bundle123 | Y |
| productOrderItem[].product.productSpecification.name | string | Merchant key associated with the bundle Default: BUNDLE. | Y |
| productOrderItem[].product.productRelationship[].relationshipType | string | Relationship type between bundle and child products. Default: bundled. | Y |
| productOrderItem[].product.productRelationship[].product.id | string | Unique identifier of the bundled product. | Y |
| productOrderItem[].product.productRelationship[].product.productSpecification.id | string | product code | Y |
| productOrderItem[].product.productRelationship[].product.productSpecification.name | string | Merchant key associated with the product (Example: DISNEY, UNIVERSAL, AMAZON, HBO). | Y |
| productOrderItem[].product.productRelationship[].product.@baseType | string | Base type of the bundled product. Default: Product. | N |
| productOrderItem[].product.productRelationship[].product.@type | string | Type of the bundled product. Default: OTT. | Y |
| productOrderItem[].product.@baseType | string | Base type of the product. Default: Product. | N |
| productOrderItem[].product.@type | string | Type of the product. Default: OTT. | Y |
Note:
The usage of the email address in the field relatedParty.id is deprecated and for all the usecases it is moved to billingAccount.contact[].contactMedium[].characteristic.emailAddress.
Definitions - HBO Max Standalone
| Name | Type | Description | Required |
|---|
| cancellationReason | string | Reason for cancellation. Default: NOT_RENEWED, CUSTOMER_CANCELLED. | Y |
| description | string | Description of the cancellation. Default: The user has not renewed their subscription. | Y |
| billingAccount.id | string | Billing account number. | Y |
| productOrderItem.action | string | The action to be carried out on the product. Default: modify. | Y |
| productOrderItem.id | string | Identifier of the product order item. Default: 1. | N |
| productOrderItem.quantity | string | Quantity of the product order item. Default: 1. | N |
| productOrderItem[].product.id | string | Entitlement id. | Y |
| productOrderItem.product.status | string | State of the product order item. Default: aborted. | Y |
| productOrderItem.product.@type | string | Type of the product. Default: OTT. | Y |
| productOrderItem.product.@baseType | string | Base type of the product. Default: Product. | Y |
| productOrderItem.product.productSpecification.id | string | Product code. | Y |
| productOrderItem.product.productSpecification.name | string | Merchant key associated with the product Default: HBO. | Y |
| @type | string | Type of the product order. Default: ProductOrder. | N |
Definitions - Amazon Standalone
| Name | Type | Description | Required |
|---|
| cancellationReason | string | Reason for cancellation. Default: NOT_RENEWED, CUSTOMER_CANCELLED. | Y |
| description | string | Description of the cancellation. Default: The user has not renewed their subscription. | Y |
| billingAccount.id | string | Billing account number. | Y |
| productOrderItem.action | string | The action to be carried out on the product. Default: modify. | Y |
| productOrderItem.id | string | Identifier of the product order item. Default: 1. | N |
| productOrderItem.quantity | string | Quantity of the product order item. Default: 1. | N |
| productOrderItem[].product.id | string | Entitlement id. | Y |
| productOrderItem.product.status | string | State of the product order item. Default: aborted. | Y |
| productOrderItem.product.@type | string | Type of the product. Default: OTT. | Y |
| productOrderItem.product.@baseType | string | Base type of the product. Default: Product. | Y |
| productOrderItem.product.productSpecification.id | string | Product code. | Y |
| productOrderItem.product.productSpecification.name | string | Merchant key associated with the product Default: AMAZON. | Y |
| @type | string | Type of the product order. Default: ProductOrder. | N |
Definitions - Universal Standalone
| Name | Type | Description | Required |
|---|
| cancellationReason | string | Reason for cancellation. Default: NOT_RENEWED, CUSTOMER_CANCELLED. | Y |
| description | string | Description of the cancellation. Default: The user has not renewed their subscription. | Y |
| billingAccount.id | string | Billing account number. | Y |
| productOrderItem.action | string | The action to be carried out on the product. Default: modify. | Y |
| productOrderItem.id | string | Identifier of the product order item. Default: 1. | N |
| productOrderItem.quantity | string | Quantity of the product order item. Default: 1. | N |
| productOrderItem.product.status | string | State of the product order item. Default: aborted. | Y |
| productOrderItem.product.@type | string | Type of the product. Default: OTT. | Y |
| productOrderItem.product.@baseType | string | Base type of the product. Default: Product. | Y |
| productOrderItem.product.productSpecification.id | string | Product code. | Y |
| productOrderItem.product.productSpecification.name | string | Merchant key associated with the product Default: AMAZON. | Y |
| @type | string | Type of the product order. Default: ProductOrder. | N |
| relatedParty[].id | string | Email address to send Email notification to the customer | Y |
| relatedParty[].@referredType | string | Type of the related party. Default: Individual. | Y |
Definitions - Disney Standalone
| Name | Type | Description | Required |
|---|
| billingAccount.id | string | Billing account number. | Y |
| cancellationReason | string | Reason for cancellation. Default: NOT_RENEWED, CUSTOMER_CANCELLED. | Y |
| description | string | Description of the cancellation. Default: The user has not renewed their subscription. | Y |
| productOrderItem.action | string | The action to be carried out on the product. Default: modify. | Y |
| productOrderItem.id | string | Identifier of the product order item. Default: 1. | N |
| productOrderItem.quantity | string | Quantity of the product order item. Default: 1. | N |
| productOrderItem[].product.id | string | Entitlement id. | Y |
| productOrderItem.product.status | string | State of the product order item. Default: aborted. | Y |
| productOrderItem.product.@type | string | Type of the product. Default: OTT. | Y |
| productOrderItem.product.@baseType | string | Base type of the product. Default: Product. | Y |
| productOrderItem.product.productSpecification.id | string | Product code. | Y |
| productOrderItem.product.productSpecification.name | string | Merchant key associated with the product Default: DISNEY. | Y |
| @referredType | string | Deprecated. Previously used to identify the merchant type (Example: DISNEY). This field will no longer be used in new implementations. | Y |
| @type | string | Type of the product order. Default: ProductOrder. | N |
cURL request - BUNDLE
curl --location 'https://nonprod.esb.cloud.lla.com/test/cr-mdw-ux-lcr/cr-mdw-ux/v1/CR/productOrder
--header 'X-Correlation-ID: {{$guid}}' \
--header 'client_id: XXXXX' \
--header 'client_secret: XXXXX' \
--header 'Content-Type: application/json' \
--data-raw '{
"cancellationReason": "NOT_RENEWED-CUSTOMER_CANCELLED",
"description": "The user has not renewed their subscription",
"productOrderItem": [
{
"id": "1",
"quantity": 1,
"action": "modify",
"product": {
"isBundle": true,
"status": "aborted",
"productSpecification": {
"id": "12345",
"name": "BUNDLE"
},
"productRelationship": [
{
"relationshipType": "bundled",
"product": {
"id": "de9792a7-5ce8-45bd-b553-2600a665f275",
"productSpecification": {
"id": "disneyPlus",
"name": "DISNEY"
},
"@baseType": "Product",
"@type": "OTT"
}
},
{
"relationshipType": "bundled",
"product": {
"id": "af5692a7-5ce8-45bd-b553-2600a665f275",
"productSpecification": {
"id": "universalPlus",
"name": "UNIVERSAL"
},
"@baseType": "Product",
"@type": "OTT"
}
},
{
"relationshipType": "bundled",
"product": {
"id": "e6d858b8-4479-4934-9ba9-274c59c719ce",
"productSpecification": {
"id": "amazonPrime",
"name": "AMAZON"
},
"@baseType": "Product",
"@type": "OTT"
}
},
{
"relationshipType": "bundled",
"product": {
"id": "g8o8ebd6-02f7-4d3f-942e-904344e8cde5",
"productSpecification": {
"id": "HBOMax",
"name": "HBO"
},
"@baseType": "Product",
"@type": "OTT"
}
}
],
"@baseType": "Product",
"@type": "OTT"
},
"@type": "ProductOrderItem"
}
],
"billingAccount": {
"id": "1101523732142",
"contact": [
{
"contactType": "primary",
"contactMedium": [
{
"characteristic": {
"emailAddress": "test@xyz.com"
}
}
]
}
]
},
"@type": "ProductOrder"
}'
Response - BUNDLE
{
"cancellationReason": "NOT_RENEWED-CUSTOMER_CANCELLED",
"description": "The user has not renewed their subscription",
"productOrderItem": [
{
"id": "1",
"quantity": 1,
"action": "modify",
"product": {
"isBundle": true,
"status": "aborted",
"productSpecification": {
"id": "12345",
"name": "BUNDLE"
},
"productRelationship": [
{
"relationshipType": "bundled",
"product": {
"id": "de9792a7-5ce8-45bd-b553-2600a665f275",
"productSpecification": {
"id": "disneyPlus",
"name": "DISNEY"
},
"@baseType": "Product",
"@type": "OTT"
}
},
{
"relationshipType": "bundled",
"product": {
"id": "e6d858b8-4479-4934-9ba9-274c59c719ce",
"productSpecification": {
"id": "amazonPrime",
"name": "AMAZON"
},
"@baseType": "Product",
"@type": "OTT"
}
},
{
"relationshipType": "bundled",
"product": {
"id": "af5692a7-5ce8-45bd-b553-2600a665f275",
"productSpecification": {
"id": "universalPlus",
"name": "UNIVERSAL"
},
"@baseType": "Product",
"@type": "OTT"
}
},
{
"relationshipType": "bundled",
"product": {
"id": "g8o8ebd6-02f7-4d3f-942e-904344e8cde5",
"productSpecification": {
"id": "HBOMax",
"name": "HBO"
},
"@baseType": "Product",
"@type": "OTT"
}
}
],
"@baseType": "Product",
"@type": "OTT"
},
"@type": "ProductOrderItem"
}
],
"billingAccount": {
"id": "1101523732142",
"contact": [
{
"contactType": "primary",
"contactMedium": [
{
"characteristic": {
"emailAddress": "test@xyz.com"
}
}
]
}
]
},
"@type": "ProductOrder"
}
cURL request - HBO Max Standalone
curl --location 'https://nonprod.esb.cloud.lla.com/test/cr-mdw-ux-lcr/cr-mdw-ux/v1/CR/productOrder
--header 'X-Correlation-ID: {{$guid}}' \
--header 'client_id: XXXXX' \
--header 'client_secret: XXXXX' \
--header 'Content-Type: application/json' \
--data-raw '{
"cancellationReason": "NOT_RENEWED-CUSTOMER_CANCELLED",
"description": "The user has not renewed their subscription",
"productOrderItem": [
{
"id": "1",
"quantity": 1,
"action": "modify",
"product": {
"id": "g8o8ebd6-02f7-4d3f-942e-904344e8cde5",
"status": "aborted",
"productSpecification": {
"id": "HBOMax",
"name": "HBO"
},
"@baseType": "Product",
"@type": "OTT"
},
"@type": "ProductOrderItem"
}
],
"billingAccount": {
"id": "1101523732142"
},
"@type": "ProductOrder"
}'
Response - HBO Max Standalone
{
"cancellationReason": "NOT_RENEWED-CUSTOMER_CANCELLED",
"description": "The user has not renewed their subscription",
"productOrderItem": [
{
"id": "1",
"quantity": 1,
"action": "modify",
"product": {
"id": "g8o8ebd6-02f7-4d3f-942e-904344e8cde5",
"status": "aborted",
"productSpecification": {
"id": "HBOMax",
"name": "HBO"
},
"@baseType": "Product",
"@type": "OTT"
},
"@type": "ProductOrderItem"
}
],
"billingAccount": {
"id": "1101523732142"
},
"@type": "ProductOrder"
}
cURL request - Amazon Standalone
curl --location 'https://nonprod.esb.cloud.lla.com/test/cr-mdw-ux-lcr/cr-mdw-ux/v1/CR/productOrder
--header 'X-Correlation-ID: {{$guid}}' \
--header 'client_id: XXXXX' \
--header 'client_secret: XXXXX' \
--header 'Content-Type: application/json' \
--data-raw '{
"cancellationReason": "NOT_RENEWED-CUSTOMER_CANCELLED",
"description": "The user has not renewed their subscription",
"productOrderItem": [
{
"id": "1",
"quantity": 1,
"action": "modify",
"product": {
"id": "de9792a7-5ce8-45bd-b553-2600a665f275",
"status": "aborted",
"productSpecification": {
"id": "amazonPrime",
"name": "AMAZON"
},
"@baseType": "Product",
"@type": "OTT"
},
"@type": "ProductOrderItem"
}
],
"billingAccount": {
"id": "1101523732142"
},
"@type": "ProductOrder"
}'
Response - Amazon Standalone
{
"cancellationReason": "NOT_RENEWED-CUSTOMER_CANCELLED",
"description": "The user has not renewed their subscription",
"productOrderItem": [
{
"id": "1",
"quantity": 1,
"action": "modify",
"product": {
"id": "de9792a7-5ce8-45bd-b553-2600a665f275",
"status": "aborted",
"productSpecification": {
"id": "amazonPrime",
"name": "AMAZON"
},
"@baseType": "Product",
"@type": "OTT"
},
"@type": "ProductOrderItem"
}
],
"billingAccount": {
"id": "1101523732142"
},
"@type": "ProductOrder"
}
cURL request - Universal Standalone
curl --location 'https://nonprod.esb.cloud.lla.com/test/cr-mdw-ux-lcr/cr-mdw-ux/v1/CR/productOrder
--header 'X-Correlation-ID: {{$guid}}' \
--header 'client_id: XXXXX' \
--header 'client_secret: XXXXX' \
--header 'Content-Type: application/json' \
--data-raw '{
"cancellationReason": "NOT_RENEWED-CUSTOMER_CANCELLED",
"description": "The user has not renewed their subscription",
"productOrderItem": [
{
"id": "1",
"quantity": 1,
"action": "modify",
"product": {
"status": "aborted",
"productSpecification": {
"id": "universalPlus",
"name": "UNIVERSAL"
},
"@baseType": "Product",
"@type": "OTT"
},
"relatedParty": [
{
"id": "test@xyz.com",
"@referredType": "Individual"
}
],
"@type": "ProductOrderItem"
}
],
"billingAccount": {
"id": "1101523732142"
},
"@type": "ProductOrder"
}'
Response - Universal Standalone
{
"cancellationReason": "NOT_RENEWED-CUSTOMER_CANCELLED",
"description": "The user has not renewed their subscription",
"productOrderItem": [
{
"id": "1",
"quantity": 1,
"action": "modify",
"product": {
"status": "aborted",
"productSpecification": {
"id": "universalPlus",
"name": "UNIVERSAL"
},
"@baseType": "Product",
"@type": "OTT"
},
"@type": "ProductOrderItem"
}
],
"billingAccount": {
"id": "1101523732142"
},
"@type": "ProductOrder"
}
cURL request - Disney Standalone
curl --location 'https://nonprod.esb.cloud.lla.com/test/cr-mdw-ux-lcr/cr-mdw-ux/v1/CR/productOrder
--header 'X-Correlation-ID: {{$guid}}' \
--header 'client_id: XXXXX' \
--header 'client_secret: XXXXX' \
--header 'Content-Type: application/json' \
--data-raw '{
"cancellationReason": "NOT_RENEWED-CUSTOMER_CANCELLED",
"description": "The user has not renewed their subscription",
"productOrderItem": [
{
"id": "1",
"quantity": 1,
"action": "modify",
"product": {
"id": "de9792a7-5ce8-45bd-b553-2600a665f275",
"status": "aborted",
"productSpecification": {
"id": "disneyPlus",
},
"@baseType": "Product",
"@type": "OTT",
"@referredType": "DISNEY",
},
"@type": "ProductOrderItem"
}
],
"billingAccount": {
"id": "1101523732142"
},
"@type": "ProductOrder"
}'
Response - Disney Standalone
{
"cancellationReason": "NOT_RENEWED-CUSTOMER_CANCELLED",
"description": "The user has not renewed their subscription",
"productOrderItem": [
{
"id": "1",
"quantity": 1,
"action": "modify",
"product": {
"id": "de9792a7-5ce8-45bd-b553-2600a665f275",
"status": "aborted",
"productSpecification": {
"id": "disneyPlus",
},
"@baseType": "Product",
"@type": "OTT",
"@referredType": "DISNEY",
},
"@type": "ProductOrderItem"
}
],
"billingAccount": {
"id": "1101523732142"
},
"@type": "ProductOrder"
}